A Threads-Only MPI Implementation for the Development of Parallel Programs
نویسنده
چکیده
In this paper, we present a threads-only implementation of MPI, called TOMPI, that allows eecient development of parallel programs on a workstation. The communication and context-switching overhead is reduced signiicantly compared to existing MPI implementations , by the use of threads and shared memory in place of UNIX processes and often sockets. Results demonstrate the scalability of TOMPI in comparison to two MPICH devices. We provide a C/C++ preprocessor to modify the semantics of global variables to appear as if each thread has its own address space. This makes TOMPI a true MPI implementation, that is, MPI programs can be run in TOMPI without modiication.
منابع مشابه
Parallel computing using MPI and OpenMP on self-configured platform, UMZHPC.
Parallel computing is a topic of interest for a broad scientific community since it facilitates many time-consuming algorithms in different application domains.In this paper, we introduce a novel platform for parallel computing by using MPI and OpenMP programming languages based on set of networked PCs. UMZHPC is a free Linux-based parallel computing infrastructure that has been developed to cr...
متن کاملParallel Implementation of Particle Swarm Optimization Variants Using Graphics Processing Unit Platform
There are different variants of Particle Swarm Optimization (PSO) algorithm such as Adaptive Particle Swarm Optimization (APSO) and Particle Swarm Optimization with an Aging Leader and Challengers (ALC-PSO). These algorithms improve the performance of PSO in terms of finding the best solution and accelerating the convergence speed. However, these algorithms are computationally intensive. The go...
متن کاملThread-safety in an MPI implementation: Requirements and analysis
The MPI-2 Standard has carefully specified the interaction between MPI and usercreated threads, with the goal of enabling users to write multithreaded programs while also enabling MPI implementations to deliver high performance. However, a simple reading of the thread-safety specification does not reveal what its implications are for an implementation and what implementers must be aware (and ca...
متن کاملTest Suite for Evaluating Performance of MPI Implementations That Support MPI_THREAD_MULTIPLE
MPI implementations that support the highest level of thread safety for user programs, MPI THREAD MULTIPLE, are becoming widely available. Users often expect that different threads can execute independently and that the MPI implementation can provide the necessary level of thread safety with only a small overhead. The MPI Standard, however, requires only that no MPI call in one thread block MPI...
متن کاملParleda: a Library for Parallel Processing in Computational Geometry Applications
ParLeda is a software library that provides the basic primitives needed for parallel implementation of computational geometry applications. It can also be used in implementing a parallel application that uses geometric data structures. The parallel model that we use is based on a new heterogeneous parallel model named HBSP, which is based on BSP and is introduced here. ParLeda uses two main lib...
متن کامل